#ifndef _LIST_H
#define _LIST_H

typedef int DATA_TYPE;

typedef struct singlelinklist
{
    DATA_TYPE data;//数据域
    struct singlelinklist *next;//指针域

}Lnode,*p_linklist;


//函数声明
//创建一个空链表
p_linklist list_Create();
//尾插
int list_tail_insert(p_linklist H, DATA_TYPE value);//head
//获得指定位置的结点
int list_get(p_linklist H, int pos);//通过pos 获得第pos个位置的结点
//头插
int list_head_insert(p_linklist H, DATA_TYPE value);
//指定位置插入
int list_insert(p_linklist H, DATA_TYPE value, int pos);//将value插入到第pos结点之前
//销毁链表
p_linklist list_free(p_linklist *H);
//删除某一个位置上的结点
int list_delete(p_linklist H, int pos);
//修改结点数据
int list_Change(p_linklist H,DATA_TYPE value,DATA_TYPE newvalue);
// 遍历链表
int list_show(p_linklist H);
//翻转
int list_reverse(p_linklist H);
#endif